package com.thinkgsp.jxc.persistence;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.thinkgsp.jxc.model.ProductBatchNo;

/**
 * 产品批号持久化类
 * @author evan
 *
 */
public interface ProductBatchNoMapper {

	/**
	 * 根据Id获取产品批号
	 * @param id
	 * @return
	 */
	public ProductBatchNo getBatchNoById(Long id);
	
	/**
	 * 根据产品Id与生产批号获取批号对象
	 * @param productId
	 * @param batchNo
	 * @return
	 */
	public ProductBatchNo getBatchNoByProduct(@Param(value="productId") Integer productId,@Param(value="batchNo") String batchNo);
	
	/**
	 * 根据产品ID获取空批号对象
	 * @param productId
	 * @return
	 */
	public ProductBatchNo getBatchNoByEmpty(Integer productId);
	
	/**
	 * 获取某一产品的批号列表
	 * @param productId
	 * @return
	 */
	public List<ProductBatchNo> getBatchNoByProductId(Integer productId);
	
	/**
	 * 新增产品批号
	 * @param batchNo
	 */
	public void insertBatchNo(ProductBatchNo batchNo);
	
	/**
	 * 修改产品批号
	 * @param batchNo
	 */
	public void updateBatchNo(ProductBatchNo batchNo);
	
	/**
	 * 删除产品批号
	 * @param id
	 */
	public void deleteBatchNo(Long id);
	
	/**
	 * 清空批号表
	 */
	public void clearBatchNo();
	
	/**
	 * 创建空批号对象
	 * @param productId
	 */
	public void insertEmptyBatchNo(Integer productId);
}
